// 使用extends来对泛型做一些类型的限制
// 举例：
interface ILength {
  length: number
}
function getLength<T extends ILength>(arg: T) {
  return arg.length
}
getLength([1, 2, 3]) // 数组是有length属性的

// getLength(123) // number类型没有length属性, 压根都传不进去